怎么快速检测目标的漏洞
快速检测目标的漏洞的方法有以下四种:
安全扫描:安全扫描也称为脆弱性评估,其基本原理是采用模拟黑客攻击的方式对目标可能存在的已知安全漏洞进行逐项检测,可以对工作站、服务器、交换机、数据库等各种对象进行安全漏洞检测。到目前为止,安全扫描技术已经达到很成熟的地步。安全扫描技术主要分为两类,基于主机的安全扫描技术和基于网络的安全扫描技术。按照扫描过程来分,扫描技术又可以分为四大类:Ping扫描技术、端口扫描技术、操作系统探测扫描技术以及已知漏洞的扫描技术。
源代码扫描:源代码扫描主要针对开放源代码的程序,通过检查程序中不符合安全规则的文件结构、命名规则、函数、堆栈指针等,进而发现程序中可能隐含的安全缺陷。这种漏洞分析技术需要熟练掌握编程语言,并预先定义出不安全代码的审查规则,通过表达式匹配的方法检查源程序代码。由于程序运行时是动态变化的,如果不考虑函数调用的参数和调用环境,不对源代码进行词法分析和语法分析,就没有办法准确地把握程序的语义,因此这种方法不能发现程序动态运行过程中的安全漏洞。
反汇编扫描:反汇编扫描对于不公开源代码的程序来说往往是最有效的发现安全漏洞的办法。分析反汇编代码需要有丰富的经验,也可以使用辅助工具来帮助简化这个过程,但不可能有一种完全自动的工具来完成这个过程。
环境错误注入:由程序执行是一个动态过程这个特点,不难看出静态的代码扫描是不完备的。环境错误注入是一种比较成熟的软件测试方法,这种方法在协议安全测试等领域中都已经得到了广泛的应用。系统通常由“应用程序”和“运行环境”组成。由于各种原因,程序员总是假定认为他们的程序会在正常环境中正常地运行。当这些假设成立时,他们的程序当然是正确运行的。但是,由于作为共享资源的环境,常常被其他主体所影响,尤其是恶意的用户,这样,程序员的假设就可能是不正确的。程序是否能够容忍环境中的错误是影响程序健壮性的一个关键问题。